package Model;

import java.io.Serializable;

import Messaging.Notification;
import Messaging.NotificationManager;

/*
 * @author Roch San Buenaventura
 */
public class UtilityOwns1 extends UtilityState implements Serializable 
{
	
	final static long serialVersionUID = 230;

	private static UtilityOwns1 INSTANCE = null;
	
	protected UtilityOwns1() 
	{
		
	}
	
	public static UtilityState Instance() 
	{
		if (INSTANCE == null)
		{
			INSTANCE = new UtilityOwns1();
		}
		
		return INSTANCE;
	}
	
	public void landOn(Player player, PropertySpace property)
	{
		System.out.println("Utility land on");
		NotificationManager.getInstance().notifyObservers(Notification.UTILITY_RENT, property);
	}
	
	public int getMultiplier() 
	{
		return 4;
	}
	
	protected void ownershipIncrease(PropertySpace p)
	{
		p.changeState(UtilityOwns2.Instance());
	}
	
	protected void ownershipDecrease(PropertySpace p) 
	{
		System.err.println("UtiltiyOwns1 ownershipDecrease called - Not supposed to happen");
	}
	
	protected String getNameAndStatus()
	{
		return "";
	}

	public String toString()
	{
		return "UtilityOwns1";
	}
}
